package main 

import "fmt"

// 定义全局变量
var c1 = 100
var c2 = 100
var name3 = "jack"

// 一次性声明
var (
	d1 = 300
	d2 = 999
	name4 = "小黑"
)

func main () {
	// golang 的变量使用方法1
	// 第一种：指定变量类型，声明后若不复值，使用默认值
	var i int 
	fmt.Println("i=", i)
	// i= 0

	// 第二种：根据值自行判定变量类型（类型推导）
	var num = 100.11
	fmt.Println("num=", num)
	// num= 100.11

	// 第三种：省略var, 注意 := 左侧的变量不应该是已经声明过的，否则会导致编译报错
	// 下面的方式等价 var name string name = "tom"
	// := 的 : 不能省略，否则错误
	name := "tom"
	fmt.Println("name=", name)
	// name= tom

	// 一次性声明多个变量类型一样
	var n1,n2,n3 int
	fmt.Println(n1,n2,n3)
	
	// 一次性声明多个变量类型不一样
	var a1,name1,a2 = 100,"tom2",888
	fmt.Println(a1,name1,a2)
	
	// 一次性声明多个变量, 类型推导
	b1,name2,b2 := 200,"小红",666
	fmt.Println(b1,name2,b2)

	// 输出全局变量
	fmt.Println(c1,name3,c2)
	fmt.Println(d1,name4,d2)
}